In some device for developing a product, a cable is used for electric wiring. Wire harness is a processed wire or cable and is an indispensable component in most of devices provided with a plurality of units a vehicle or the like. Therefore, recently software for supporting route design for arranging the cable (hereinafter called “route design support software”) has been sold. In a manufacturing business, since CAD (computer-aided design) is widely introduced, the support software usually designs a cable route for arranging a cable in a device in virtual space, using the design data of the device. A design support system for supporting the route design of a cable is realized by enabling a data processing device (computer) to execute the route design support software.
A cable is a component having fairly high flexibility. However, if design is made without taking a cable into consideration, sometimes the design of a product has to be modified due to a cable. This is because inconveniences, such as facts that a cable has to be bended by force, that its fitting operability is bad, that it interferes with another component and the like, can be easily overlooked. In route design using design data, such overlooking of inconveniences can be easily avoided.
In route design using a design support system, a passing point being a position through which a cable passes is specified (generated). In the position specification of the passing point, a positional reference being a position which becomes a reference in specifying the position is usually selected as an attribute. For the positional reference, one based on the origin of a coordinate system in virtual space, one based on another passing point or one based on a component (model) disposed in virtual space is used.
The route of a cable is determined by calculating a curve which passes through each passing point. There is no calculation expression which can completely express the curve (Even if there is such a calculation expression, it is considered that it is very complex/difficult to solve). Thus, it is popular to calculate a parametric curve, more particularly a Bezier curve for the curve. Therefore, it is common to manage the passing direction of a cable in addition to the position as passing point information. Such a route curve generation system is mounted on a design support system in order to generate a route (curve) that passes through a cable.
The route curve generation system generates a curve for each between two continuous passing points. When generating a Bezier curve as the curve, one or more control points are arranged in addition to two passing points. Generally, in order to generate a more complex curve, degree (the number of control points) has to be increased. A Bezier curve can be generally expressed as follows.
                    [                  Mathematical          ⁢                                          ⁢          expression          ⁢                                          ⁢          1                ]                                                                                      ⁢                              r            ⁡                          (              t              )                                =                                    ∑                              k                =                0                            N                        ⁢                                          C                k                                                  N                                              ·                              t                k                            ·                                                (                                      1                    -                    t                                    )                                                  (                                      N                    -                    k                                    )                                            ·                              P                ⁡                                  (                  k                  )                                                                                        (        1        )            
In the above equation, N and P (k) are degree and the k-th control point, respectively.
A Bezier curve passes through only the first and last ones, of control points and control points between them are used only to determine the shape of a curve. Therefore, of the two passing points, one and the other are used as the first control point (starting point) and last control point (ending point), respectively. By using two passing points thus, a Bezier curve passing through them can be generated.
In an actual cable (including wire harness and the like), sometimes there is a length constraint besides the curve constraint.
An actual cable cannot be bended beyond a certain value determined by its material, length, thickness and the like. In virtual space, the local curve of a cable route can be expressed by a curvature radius compared to a circular arc or the like, as illustrated in FIG. 1. In FIG. 1, R, P1-3 and LC indicate a curvature radius, passing points and a cable route, respectively. In order to meet the curve constraint, it is necessary to make a curvature radius equal to or more than the minimum curvature radius across the entire route. The length constraint occurs when calculating cable length needed to connect between passing points with the minimum line length, when connecting between passing points with specified line length and so on.
Some conventional route curve generation system expresses a route by a three-degree Bezier curve. This three-degree Bezier curve has two control points besides two starting and ending passing points (control points). The two control points are arranged in respective passing directions at the starting and ending points, as illustrated in FIG. 2, in order to maintain the continuity of the curve. Therefore, they can be very easily handled. In FIG. 2, P1, P2, V1, V2, C2 and C3 are a starting passing point (control point), an ending passing point (control point), the passing direction of the passing point P1, the passing direction of the passing point P2, a control point arranged in the passing direction V1 of the passing point P1 and a control point arranged in the passing direction V2 of the passing point P2 (more accurately, in a passing direction the reversal of the passing direction V2 from the passing point P2), respectively. In this way, a control point is indicated by a symbol string which has “C” as a head and in which a numeric value indicating order from the starting control point (passing point P1) is attached to the “C” as a symbol accompanying it. Thus, for example, “C2” indicates a control point positioned following the starting control point C1 being the passing point P1. This also applies to other control points.
In the three-degree Bezier curve, an appropriate route cannot be often determined in virtual space even between passing points through which a cable can be actually arranged. For example, as illustrated in FIG. 3, when the passing points P1 and P2 are closely positioned and their passing directions V1 and V2 are parallel or almost parallel to each other, although there is actually a route LC whose curvature radius is larger than a circle SM of the minimum curvature radius, between the passing points P1 and P2, in virtual space, two control points C2 and C3 are arranged as illustrated in FIG. 4 and as a result, the minimum curvature radius in the route LC is that of a circle SR whose curvature radius is smaller than the circle SM. Therefore, in the conventional route curve generation system which can take into consideration the curve and wire length constraints, a four or more-degree Bezier curve is usually used. Hereinafter, the actual minimum curvature radius in an LC route and the minimum curvature radius being curve constraint are called “minimum rout curvature radius” and “default radius”, respectively, in order to discriminate the actual minimum curvature radius in an LC route from the minimum curvature radius being the curve constraint of a cable.
In a four or more-degree Bezier curve, for example, a five-degree Bezier curve, four control points are arranged in addition to the two passing points P1 and P2. Thus, when using a five-degree Bezier curve, convergence calculation repeating the rearrangement of the four control points is controlled until a route (Bezier curve) meeting all constraints is obtained. The arrangement method of four control points includes, for example, the following one. They will be explained in detail below with reference to FIG. 5.
(1) Starting and ending passing points are assumed to be control points C1 and C6, respectively.
(2) In order to maintain the continuity of a curve, it is for control points C2 and C5 to exist in a line segment parallel to a passing direction passing through the control points C1 and C6, respectively. Therefore, the control points C2 and C5 are arranged in a passing direction from the control point C1 (passing point P1) and a direction the reversal of a passing direction from the control point C6 (passing point C6), respectively, away by a predetermined offset (hereafter called “first offset” for convenience' sake).
(3) Vector going from the control point C1 toward the control point 2 and vector going from the control point C6 toward the control point 5 are defined as A and B, respectively. Furthermore, a temporary mid-point TM is set in a position away from the mid-point M of a straight line connecting the control points C2 and C5 by an arbitrary amount h of offset in the composite vector direction of vector A and B.
(4) The control points C3 and C4 are arranged in a position away toward the control point C2 side by a predetermined offset (hereinafter called “second offset” for convenience' sake) and in a position conversely away toward the control point C5 side by the second offset, respectively, in a direction parallel to a linear direction connecting the control points C2 and C5 from the temporary mid-point TM.
The above-described arrangement of control points C2 through C5 is initial arrangement. The convergence calculation is performed while changing the above-described amount h of offset.
FIG. 7 is a flowchart of a route generation process executed by the conventional route curve generation system. The route generation process is performed to the above-described convergence calculation and specifies the arrangement of four control points from which a route (Bezier curve) meeting all constraints is obtained. The constraints are a curve constraint (a condition that the minimum route curvature radius is equal to or less than the default radius) and a length constraint (for example, a condition of being equal to or less than a cable length which is equal or larger than specified line length and is targeted in connecting between passing points (hereinafter called “target line length”)). The generation process will be explained in detail below with reference to FIG. 7.
Firstly, in step S1, the target line length and default radius (described as the “minimum curvature” in FIG. 7) of a cable between passing points are specified as initial values. Their specification is performed referring to data preset by a user or using a distance between passing points for the initial value of the target line length. Then, in step S2, α times of the target line length (for example, a value obtained by multiplying it by 0.25 (=α)) is specified as the initial value of the amount h of offset and convergence (repetition) calculation is performed while changing the amount h of offset. After the completion of the convergence calculation, the process advances to step S3.
In step S3, a route (Bezier curve) whose length becomes target line length by changing the amount h of offset. If there is a route whose length becomes target line length, it is determined OK and the process advances to step S5. Otherwise, it is determined NG and the process advances to step S4. Then, in step S4 after setting the target line length longer, the process returns to step S1. Thus, in the subsequent execution of step S1, a longer target line length than the previous time is specified or a value obtained by multiplying the current target line length by β (for example, 1.25 (=β) is set as a new target line length.
In step S5 the minimum route curvature radius is determined. In the determination, only a route whose length is target line length is targeted. If of the routes, there is a route whose minimum route curvature radius is equal to or more than its default radius, it is determined OK and the route generation process is terminated here. Otherwise, namely, if the length does not reach the target line length or if its minimum route curvature radius is equal to or less than its default radius even when the length reaches the target line length, it is determined NG and the process advances to step S4. Thus, a target line length is reset (the length is extended or the like) and the convergence calculation is performed again.
As clearly illustrated in FIGS. 5 and 6, there is a tendency that the smaller is above-described amount h of offset, the shorter becomes the length of a route. However, as illustrated in FIG. 5, even if there is actually a route LS meeting a curve constraint when the passing points P1 and P2 are closely positioned, a route LC generated in virtual space does not often meet the curve constraint. Furthermore, as illustrated in FIG. 6, sometimes there occurs a place where a curve is locally acute, depending on the respective directions of vector A and B. In that case, a route LC meeting the curve constraint does not often generate.
It is important to meet a length constraint. However, compared with a curve constraint, its importance is lower. This is because while the length of the entire cable can be fairly easily modified, the curve constraint has to be always met. Therefore, it is important to surely generate a route meeting a curve constraint. It is considered that a user (designer) can design a route more easily and more rapidly by surely generating such a route.
Deformable linear structures attached to a device are not only fairly slender ones, such as the above-described cable (including an optical cable), wire, wire harness or the like, but also, for example, fairly thick cylindrical one. The cylindrical linear structure is attached in order to pass through a fluid, such as air and the like, or another linear structure through it. It can be said that to design a route more easily and more rapidly means to target all linear structures having a curve constraint regardless of the kind of the linear structure.
Such a linear structure is attached to not only between units of one device (product), such as an electric appliance, a vehicle or the like, but also a plurality of devices arranged in different places. Therefore, a route is sometimes designed in order to attach a linear structure between a plurality of different devices. Even when a route is designed in order to attach a linear structure between a plurality of different devices, it is necessary to design the route in such a way as to meet a curve constraint if the linear structure having such a constraint.    Patent document 1: Japanese Laid-open Patent Publication No. 2004-127925    Patent document 2: Japanese Laid-open Patent Publication No. 2004-172088    Patent document 3: Japanese Laid-open Patent Publication No. 2005-100913    Patent document 4: Japanese Laid-open Patent Publication No. 2000-284130